/**
 * 求和（递归）
 *
 * @author Kevin
 * @date 2018-11-26
 */
public class Sum {

    public static void main(String[] args) {
        int[] nums = {1, 2, 3, 4, 5, 6, 7, 8};
        System.out.println(sum(nums));
    }

    /**
     * 计算arr的和
     *
     * @param arr
     * @return
     */
    public static int sum(int[] arr) {
        return sum(arr, 0);
    }

    /**
     * 计算arr[index...n)这个区间内所有数字的和
     *
     * @param arr
     * @param index
     * @return
     */
    private static int sum(int[] arr, int index) {
        if (index == arr.length) {
            return 0;
        }

        return arr[index] + sum(arr, index + 1);
    }

}
